package com.zzl.study.demo.config;

import com.zzl.study.demo.tool.PoemService;
import org.springframework.ai.tool.ToolCallbackProvider;
import org.springframework.ai.tool.method.MethodToolCallbackProvider;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 基于stdio模式的MCP服务端配置类
 *
 * @author: zhangzl
 * @date: 2025/10/13 15:21
 * @version: 1.0
 */
@Configuration
public class SseMcpServerConfig {

    /**
     * 向Spring容器中注入一个诗词服务对象
     *
     * @return 诗词服务对象
     */
    @Bean
    public PoemService poemService() {
        return new PoemService();
    }

    /**
     * 向Spring容器中注入一个MCP工具服务提供者
     *
     * @param poemService MCP诗词工具服务端对象
     * @return MCP工具服务提供者
     */
    @Bean
    public ToolCallbackProvider weatherTools(PoemService poemService) {
        return MethodToolCallbackProvider.builder().toolObjects(poemService).build();
    }

}
